Un système satellite pour Postfix signifie simplement que les mails du système seront envoyés automatiquement à un serveur SMTP. Ceci vous permettra d'utiliser la commande mail (du package mailx) directement pour envoyer des emails.
Il pourra par la suite être utilisé pour envoyer des emails automatiquement comme par exemple des fichiers de logs grâce à cron.
Commençons par installer le paquet postfix.
Un assistant va alors se lancer, et vous allez devoir répondre à quelques questions.
Si l'assistant ne se lance pas ou si Postfix est déjà installé sur votre système, faites un
sudo dpkg-reconfigure postfix
Voici comment configurer postfix grâce à assistant:
Lorsque l'assistant se lance, un premier panneau vous explique chaque configuration possible. Donc faisons OK.
Le serveur Postfix va alors redémarrer, et l'envoi de mail est désormais fonctionnel.
Si le serveur SMTP que vous aller utiliser possède un jeu de login et mot de passe, il faut le préciser dans le fichier de configuration de postfix :
Il faut donc éditer le fichier /etc/postfix/main.cf :
gksudo gedit /etc/postfix/main.cf
Et ajouter les lignes suivante à la fin :
smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd smtp_sasl_security_options = noanonymous
Vous pouvez également activer le chiffrement de la connexion grâce à TLS/SSL en ajoutant les lignes suivantes (notez qu'il est recommandé de l'activer si le serveur SMTP auquel vous vous connectez le supporte) :
smtp_use_tls = yes smtp_enforce_tls = yes smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Puis sauvegarder le fichier.
Si vous n'arrivez pas à envoyer de message avec cette configuration vous pouvez désactiver smtp_enforce_tls mais sachez que Postfix ne vérifiera pas le certificat qui lui est présenté par votre serveur SMTP. Il se contentera de l'accepter pour chiffrer la connexion et éviter ainsi de transmettre vos identifiant et mot de passe en clair mais ne vérifiera pas qu'il dialogue avec le bon serveur et non un serveur pirate. Ne désactivez donc cette option que si votre serveur SMTP présente un certificat qui pose problème.
Il faut ensuite s'assurer que la base des certificats est à jour en exécutant les commandes suivantes :
sudo update-ca-certificates sudo c_rehash /etc/ssl/certs/
==== Créer le fichier « sasl_passwd » ====
Maintenant, il ne reste plus qu'à créer le fichier /etc/postfix/sasl/sasl_passwd qui contiendra les informations de connexion, et seul root pourra le lire et y écrire :
smtp.serveur.org nom_utilisateur:mot_de_passe
Le « nom_utilisateur » peut aussi être une adresse de courriel.
Puis exécuter la commande suivante:
sudo postmap /etc/postfix/sasl/sasl_passwd
Il ne reste plus qu'à redémarrer le serveur Postfix pour qu'il prenne les nouveau paramètres :
sudo /etc/init.d/postfix restart
Pour tester que tout s'est bien passé, installer le paquet mailx.
Puis dans un terminal :
echo "test" | mail -s "Sujet Test" votreadresse@mail
Vous devriez recevoir votre email sans problème. Attention cependant, si vous n'avez pas choisi de nom qualifié pour votre serveur, les mails risquent très fortement (voir même toujours) d'être interceptés par le SMTP de votre FAI. Pour cela, vous pouvez utiliser une autre petite technique, la translation d'adresse de courriel (cf. infra).
Pour cela, éditez le fichier /etc/postfix/main.cf.
Ajoutez-y :
sender_canonical_maps = hash:/etc/postfix/canonical
Créer maintenant le fichier /etc/postfix/canonical et placez-y :
nom-utilisateur : adresse-mel@valide
Enfin, exécutez les commandes suivantes :
sudo postmap /etc/postfix/canonical sudo /etc/init.d/postfix restart